package org.lanqiao.tjut.db;

import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp2.BasicDataSourceFactory;

/**
 * 创建一个单例模式的数据库源对象
 * 
 * @author Administrator
 *
 */
public class DBSource {
	// 创建一个静态的实例变量
	public static DataSource dataSource = null;

	// 私有构造方法
	private DBSource() {
	}

	/**
	 * 获取dbcp数据源对象
	 * 
	 * @return 数据源对象
	 */
	public static DataSource getDataSource() {
		// 第一次初始化处理
		if (dataSource == null) {
			try {
				// 属性配置文件对象
				Properties prop = new Properties();
				// 将配置文件转换为输入流，并将输入流加载到Properties对象中
				prop.load(DBSource.class.getClassLoader().getResourceAsStream("db.properties"));
				// 获取数据源生成工厂类的静态方法获取数据源对象
				dataSource = BasicDataSourceFactory.createDataSource(prop);
			} catch (Exception e) {
				// 异常处理
				System.out.println("生成数据库连接池错误：" + e.getMessage());
			}
		}
		return dataSource;
	}
}
